home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Your Choice 3
/
Your Choice Software Collection 3.iso
/
doom
/
progs
/
os2_edit
/
doomedpm.doc
next >
Wrap
Text File
|
1994-09-28
|
27KB
|
769 lines
DoomEdit/PM - OS/2 PM DOOM MAP Editor
[ Beta Release 0.70 ]
CONTENTS:
-------------------------------------------------------------------------------
[1.0] A Note from the Author
[1.1] Disclaimer
[1.2] What's Missing
[1.3] Reporting Bugs
[2.0] Introduction to DEPM
[2.1] Installation
[2.2] Starting Up
[3.0] The Menu Bar
[3.1] File Menu
[3.1.1] New PWAD
[3.1.2] Open PWAD...
[3.1.3] Import PWAD...
[3.1.4] Save PWAD
[3.1.5] Save PWAD As...
[3.1.6] Quit
[3.2] Edit Menu
[3.2.1] New Map
[3.2.2] Edit Map
[3.2.3] Alter ExMx
[3.2.4] Drop Map
[3.2.5] Cancel Changes
[3.2.6] Save Changes
[3.2.7] Check Map
[3.3] Preferences Menu
[3.3.1] BSP Tuning
[3.3.2] Map Behavior
[3.3.3] Textures
[3.4] Help Menu
[3.4.1] Product Information
[4.0] Editor Controls
[4.1] Radio Buttons
[4.2] Zoom
[4.3] Grid
[4.4] Tools
[4.4.1] Thing Template
[4.4.2] Vertex Template
[4.4.3] Sector Template
[4.4.4] Nodes Building
[4.4.5] Shredder
[5.0] THINGS Mode
[5.1] Adding Things
[5.2] Deleting Things
[5.3] Moving Things
[5.4] Changing Things
[6.0] LINEDEFS Mode
[6.1] Adding Vertexes
[6.2] Deleting Vertexes
[6.3] Moving Vertexes
[6.4] Merging Vertexes
[6.5] Adding LineDefs
[6.6] Deleting LineDefs
[6.7] Flipping LineDefs
[6.8] Changing LineDefs
[7.0] SECTORS Mode
[7.1] Adding Sectors
[7.2] Deleting Sectors
[7.3] Changing Sectors
[8.0] History
-------------------------------------------------------------------------------
[1.0] A Note from the Author
"Hello. I'm Gerald Callow. And you're not."
I am releasing this BETA to give some of the OS/2 addicts out there
a 32-bit PM Doom Map editor. It isn't by any means finished, but
it works, more or less.
[1.1] Disclaimer
DOOM is a trademark of id Software. If you are playing with an illegal
copy, please shell out the cash to register. DO NOT distribute maps
which will work under the shareware version of DOOM. It's pretty easy
to do this: just use "registered" textures in episode 1 maps. I am not
disabling the ability to replace E1 maps because there are a lot of
"compound" wads out there which do this already.
Many of the line types have not been tested. The information on the line
typeds is based on DMSPEC13 (I will get hold of the most recent version
of the specs one of these days). I will correct these as I find them (or
as other people find them). That's what beta releases are all about!
Any damages incurred by using DOOM or DEPM are solely your reponsibility.
I have tested and debugged my little brains out in an attempt to make this
BETA as stable as possible, but nothing is ever bug-free. No, there isn't
any code in here which could hit your DOOM.WAD or format your disk, but
if it crashes after a couple of hours of editing, and you have disabled
autosave, I'm not going to drive to your house to reconstruct your lost
map. Dig?
[1.2] What's Missing
This BETA doesn't do everything 100%. It's missing pieces, and there are
some parts I would like to change. Please do not whine about the following
things:
Texture Rendering: it's slow. I know this. Right now it just renders
textures using the current colour compensators as you
select them. Version 1.00 will kick off a separate
thread to render textures into bitmaps so that when you
want them, they show up instantly.
Sector Splitting: this doesn't work 100% in all cases. You may have to go
and "tidy up" sidedef sector refs once in a while to keep
the sectors correct. DON'T leave messed up stuff to fix
later because it will probably cause other stuff to get
messed up.
Sector Merging: this doesn't work 100% in all cases. You may have to go
and "tidy up" sidedef sector refs once in a while to keep
the sectors correct. DON'T leave messed up stuff to fix
later because it will probably cause other stuff to get
messed up.
Check Map: this hasn't been implemented yet.
Help: this hasn't been implemented yet.
Extras: PWADs containing goofy junk like patches and textures and sounds and
all that are NOT supported. In the future, music and sounds and
textures may be supported by DEPM, maybe even edited! Who knows?
I may get bored and stop working on it to play Hell On Earth.
[1.3] Reporting Bugs
The whole idea of releasing a BETA is to get some feedback on DEPM and
have a bunch of people finding my bugs for free. If you find bugs, please
let me know what exactly you did, and how DEPM messed up.
My Internet mail address is: GeraldCallow@WPCUsrGrp.MB.CA
I can also be reached on the Winnipeg PC User's Group BBS, when the moon
is full.
[2.0] Introduction to DEPM
DoomEdit/PM (DEPM) requires practice to use, mainly because the optimal
method of building a level from scratch is completely the opposite to
that of other editors. For instance, in other editors you add vertexes
then linedefs; in DEPM, you can add vertexes only to existing linedefs.
The commands are meant to be intuitive and simplistic. Using the commands
properly, however, does take some practice. The BEST way to create a
level is to drop ONE sector, add vertexes to the linedefs and drag the
vertexes around to form an "outline" within which the other sectors will
exist. Next, the outline is split up into other sectors. For example:
Step 1.
o-----o
| | <-- first sector dropped.
| |
o-----o
Step 2.
o-----o o-----o
| | | | <-- vertexes added to lines and moved to form
| o-o-o-o | an outline.
| |
| o-o-o-o |
| | | |
o-----o o-----o
Step 3.
o-----o o-----o
| | | | <-- linedefs added to make a "door".
| o-o-o-o |
| | | |
| o-o-o-o |
| | | |
o-----o o-----o
Step 4.
o-----o o-----o
| | | |
|o-o o-o-o-o |
|| | | | | <-- sector dropped in for "teleporter exit".
|o-o o-o-o-o |
| | | |
o-----o o-----o
The main trick to remember is that when a linedef is drawn which will
bisect an existing sector, the sector is split and a new sector is
created on the "left" side of the bisecting linedef.
Keep in mind that sector splitting does not always work perfectly, and
occasionally you will have to go into the sidedefs to change the sector
assignment.
[2.1] Installation
Stick DOOMEDIT.EXE somewhere. Create a program object for it. Stick the
program object in a folder, or on the desktop. Set the working directory
to the directory you want AUTOSAVE.WAD to be in.
[2.2] Starting Up
Double-click on the DEPM icon to open the program. It will display a file
dialog asking for the DOOM.WAD. Find your DOOM.WAD and hit "OK". DEPM
saves the location of the DOOM.WAD to its INI file for subsequent runs.
If you don't move your WAD or erase DOOMEDPM.INI, you shouldn't have to
do this again. Don't be loading the WAD off a network drive, OK?
[3.0] The Menu Bar
The Menu Bar is almost always active, letting you do stuff. Some of the
functions will be disabled if you are doing something which causes them
to be disabled. Did that make sense?
[3.1] File Menu
The File Menu allows you to perform functions at a PWAD level.
[3.1.1] New PWAD
This wipes the current PWAD out of memory and clears all the patched
maps. Like it says!
[3.1.2] Open PWAD...
This wipes the current PWAD out of memory and clears all the patched
levels, then displays a file dialog to select a PWAD. The chosen PWAD
is loaded into memory, and can contain multiple maps (up to, uh, 18).
[3.1.3] Import PWAD...
This displays a file dialog to select a PWAD. The chosen PWAD is merged
with the PWAD currently in memory. If there are conflicting maps, you
will be prompted as to whether you want to replace the existing patched
map or not. Once the import has completed, the file dialog is displayed
again. This is meant to allow you to import multiple PWADs into the
current PWAD. When you are done importing things, hit "cancel".
[3.1.4] Save PWAD
This saves the current PWAD to disk, under the current name. If the PWAD
is not named, you must give it a name by using the "Save PWAD As..." menu
option.
[3.1.5] Save PWAD As...
This saves the PWAD currently in memory to a new name, and changes the
working name to match.
[3.1.6] Quit
When enabled, this menu option terminates DEPM.
[3.2] Edit Menu
The Edit Menu allows you to perform functions at a MAP level.
[3.2.1] New Map
This allows you to select a map to create. The map selection dialog will be
displayed. Maps which have been patched will show up black, unpatched maps
will show up dark cyan. Select the map you want to create and hit OK.
If the map has been patched, you will be asked if you want to wipe it out.
DEPM goes into edit mode and you start off with a blank map. The first thing
you should do is add a sector (see far below about adding sectors), and put
in a "Player 1 Start" thing.
[3.2.2] Edit Map
This allows you to edit a map. You can edit a PWAD map or an id map. As with
NEW, the map selection dialog will be displayed. DEPM goes into edit mode and
displays the selected map in THINGS mode.
[3.2.3] Alter ExMx
This allows you to change the episode and map # of a PWAD map. The selection
dialog will appear twice -- once to get the PWAD map you want to change, then
once more to get the episode and map # you want to change it to.
[3.2.4] Drop Map
This allows you to drop patched maps from the PWAD. The selection dialog will
appear and allow you to select the map to drop. You can continue to drop maps
until you hit cancel.
[3.2.5] Cancel Changes
This allows you to cancels editing mode without saving the changed level to
memory. You will be asked if you're sure you want to do this.
[3.2.6] Save Changes
This menu selection ends editing mode and saves the changed level to memory.
This option is disbled while the node builder is running.
[3.2.7] Check Map
Eventually this will do something useful, I think.
[3.3] Preferences Menu
The Preferences Menu allows you to change the way some of DEPM works.
[3.3.1] BSP Tuning
You can adjust the way the node builder picks partition lines by changing
the weight (emphasis) given to
- avoiding splits; and
- balancing the tree.
Avoiding Splits will build a tree with fewer segs and less complexity.
This will help to avoid problems with HOM effects.
Balancing the Tree will build a tree with a closer ratio of left-side
nodes to right-side nodes. This will improve performance (slightly).
Feel free to experiment with different weight settings to change the
way the tree gets built for maps exhibiting odd effects. Most likely
you will not notice any difference no matter what settings you use,
but who knows?
[3.3.2] Map Behavior
You can adjust the zoom and scroll behaviors, and change the autosave
timer setting by changing:
- zoom above threshold;
- threshold;
- zoom below threshold;
- page scroll;
- line scroll; and
- autosave.
Zoom Above Threshold is the scaling percentage to zoom when the current
scale is above the threshold.
Threshold is a scale at which the zoom amount will change.
Zoom Below Threshold is the scaling percentage to zoom when the current
scale is below the threshold.
Page Scroll is the percentage of the view to be moved off the screen when
the scroll bars are used to scroll up/down/left/right a page.
Line Scroll is the percentage of the view to be moved off the screen when
the scroll bars are used to scroll up/down/left/right a single line.
Autosave is the number of minutes to wait between autosaves, or 0 if the
autosave feature is to be disabled. The map being edited will be saved to
AUTOSAVE.WAD in the DEPM program object's working directory.
[3.3.3] Textures
You can adjust the look of the textures on your system, and change whether
textures are rendered as you select them by changing:
- red compensation;
- green compensation;
- blue compensation; and
- render on select.
Red Compensation is the amount of red added to the translated palette. You
can experiment with this amount to find the best compensation for your
system.
Green Compensation is the amount of green added to the translated palette.
You can experiment with this amount to find the best compensation for your
system.
Blue Compensation is the amount of blue added to the translated palette.
You can experiment with this amount to find the best compensation for your
system.
Render on Select indicates whether you want wall textures to be displayed
when you select them. If this checkbox is left unchecked, wall textures
will be displayed only when you double-click on them.
[3.4] Help Menu
This menu option will eventually be used to get help for the various
functions of DEPM. At the moment it contains only one entry.
[3.4.1] Product Information
This is the one entry mentioned above. You can see the version number
and go to the credits screen to see who we have to thank for this
program (other than me).
[4.0] Editor Controls
When editing a map, there are two sections: one is the editor controls
section, the other is the map section. The map section depends on the
editor controls section so I will go through it first.
[4.1] Radio Buttons
The radio buttons in the level identifier group are used to change between
the different editing modes. These are:
- things mode;
- linedefs mode; and
- sectors mode.
Things Mode is used to edit a map's THINGS, and will be explained later in
a section devoted to it.
LineDefs Mode is used to edit a map's LINEDEFSS, and will be explained later
in a section devoted to it.
Sectors Mode is used to edit a map's SECTORS, and will be explained later in
a section devoted to it.
[4.2] Zoom
This control is used to change the scale of the map being displayed, and is
described as a percentage of the map's pixels to the screen's pixels. To
zoom in, press the up arrow to increase the percentage. To zoom out, press
the down arrow to decrease the percentage.
[4.3] Grid
This control is used to display and/or change the grid. If a grid is
displayed, things and vertexes added or moved will be snapped to it. The
grid is described as the number of map pixels from one grid line to the
next. To get a denser grid, press the down arrow to decrease the number
of map pixels between lines. To get a sparser grid, press the up arrow.
The grid progresses from none to 8, to 16, to 32, to 64, to 128, to 256,
to 512, to 1024, to none (if using the up arrow). The reverse is true
when using the down arrow.
[4.4] Tools
The Tool Bar thing isn't really a tool bar, but it is convenient for me
to call it that because it includes three items which behave as a template,
one that acts as an indicator, and one that behaves as an object. The
icons in this group include:
- thing template;
- linedef template;
- sector template;
- nodes building; and
- shredder.
[4.4.1] Thing Template
Used in THINGS mode, the thing template works just like an OS/2 template.
To create a new THING, position the mouse pointer over this icon and then
right-button-drag to the desired map location. When you "drop" the new
thing, it will be created.
[4.4.2] Vertex Template
Used in LINEDEFS mode, the vertex template works just like an OS/2 template.
To create a new vertex on an existing linedef, position the mouse pointer
over this icon and then right-button-drag to the desired position on the
target linedef. Make sure the linedef is identified before dropping the
vertex, or the operation will be aborted. When a new vertex is dropped onto
a linedef, the linedef is split.
[4.4.3] Sector Template
Used in SECTORS mode, the sector template works just like an OS/2 template.
To create a new sector, position the mouse pointer over this icon and then
right-button-drag to the desired location on the map. If you drop a new
sector inside another sector, the linedefs will be created two-sided, and
the appropriate sector assignment made to the left sides. If you drop a
new sector outside other sectors, the linedefs will be created impassable.
NOTE that when dropping sectors "outside", try to do so close to another
sector in one of the cardinal directions: DEPM goes a-hunting for the
closest linedef in the NSEW directions to determine whether the new linedefs
should be made two-sided.
[4.4.4] Nodes Building
Visible only when the node builder is running, this icon is there just to
let you know that your map is being rebuilt. Each time you leave LINEDEFS
mode, the level will be rebuilt. In theory this sounds like a pain. In
practice, it works very well. This is because the node builder runs as a
separate thread, allowing you to continue working in THINGS mode or in
SECTORS mode (with the restrictions that you cannot add or delete sectors).
By the time you've done whatever you left LINEDEFS mode to do, the build
is complete. The nodes builder is based on BSP12x with some alterations.
Kudoes to Colin and Raphael.
[4.4.5] Shredder
Used in all modes, the Shredder behaves much like the OS/2 shredder. If you
drop a THING, VERTEX, LINEDEF or SECTOR on it, it will be deleted.
[5.0] THINGS Mode
DEPM is meant to be as OS/2-like as possible. In many cases, operations you
use on the OS/2 desktop will work on the DEPM map section.
NOTE: before trying to change, move, clone or delete a thing, make sure that
DEPM has identified it before pushing the mouse button.
[5.1] Adding Things
You can add new things in one of two ways:
- create new thing from Thing Template; or
- clone a thing on the map.
To create a new thing, position the mouse pointer on the Thing Template and
right-button-drag to the desired map location.
To clone an existing thing, position the mouse pointer on the thing you want
to clone and hold down the ctrl key while doing a right-button-drag. Drop
the new thing in the desired location.
[5.2] Deleting Things
To delete a thing, position the mouse pointer on the thing you want to delete
and right-button-drag it to the shredder (in the Tools group, not on the
OS/2 desktop, yutz).
[5.3] Moving Things
To move a thing, position the mouse pointer on the thing you want to move
and right-button-drag it to the desired location.
[5.4] Changing Things
To change a thing, position the mouse pointer on the thing you want to change
and left-click. Note that this is NOT like OS/2 properties menu. It's a
"select".
[6.0] LINEDEFS Mode
DEPM is meant to be as OS/2-like as possible. In many cases, operations you
use on the OS/2 desktop will work on the DEPM map section.
NOTE: before trying to change, move, clone or delete a vertex or linedef,
make sure that DEPM has identified it before pushing the mouse button.
[6.1] Adding Vertexes
You can add new vertexes in one of two ways:
- create new vertex from Vertex Template; or
- clone a vertex on the map.
NOTE that the two methods produce identical results.
To create a new vertex, position the mouse pointer on the Vertex Template
and right-button-drag to the desired linedef location.
To clone an existing vertex, position the mouse pointer on the vertex you
want to clone and hold down the ctrl key while doing a right-button-drag.
Drop the new vertex at the desired linedef location.
[6.2] Deleting Vertexes
To delete a vertex, position the mouse pointer on the vertex you want to
delete and right-button-drag it to the shredder (in the Tools group, not
on the OS/2 desktop, yutz). This will delete any linedefs/sidedefs which
are connected to the vertex. If this causes any other vertexes to be
"disconnected", they will be deleted also. If the linedef is to be retained,
merge the vertex with another one instead (see Merging Vertexes below).
[6.3] Moving Vertexes
To move a vertex, position the mouse pointer on the vertex you want to move
and right-button-drag it to the desired location.
[6.4] Merging Vertexes
To merge two vertexes, position the mouse pointer on the vertex you want to
get rid of and right-button-drag it to the vertex you want to merge it with.
Any linedefs will be moved as well. This can produce odd results when
linedefs from different sectors all converge on a single vertex, so be
careful. This is mainly intended to remove vertexes from a linedef without
deleting it.
[6.5] Adding LineDefs
To add a new linedef, position the mouse pointer on the vertex you want the
linedef to be "from" and left-click. The pointer will become a pencil, to
indicate that you are drawing a linedef. Move the mouse pointer to the
vertex you want the linedef to be "to" and left-click. The linedef will be
drawn. If the linedef bisects a sector (it always will, if you're using
DEPM the way it's meant to be used), the sector will be split into two
sectors and the linedef will be made two-sided.
[6.6] Deleting LineDefs
To delete a linedef, position the mouse pointer on the linedef you want to
delete and right-button-drag it to the shredder (in the Tools group, not
on the OS/2 desktop, yutz). This will delete any sidedefs which are
connected to the linedef. If this causes any vertexes to be "disconnected",
they will be deleted also. If this linedef is the final two-sided linedef
dividing two sectors, the sectors will be merged and the "left" sector will
inherit the properties of the "right" sector.
[6.7] Flipping LineDefs
To flip a linedef, or to swap its sidedefs, position the mouse pointer on
the desired linedef and right-click. A little menu will show up with buttons
on it which allow you to:
- flip;
- swap; or
- abort.
Flip allows you to swap the sidedefs as well as the "from" and "to"
vertexes, effectively reversing the linedef's "direction".
Swap allows you to swap the sidedefs without changing the linedef's
"direction".
Abort allows you to do nothing to the line.
Note that this is kind of like a "properties" menu.
[6.8] Changing LineDefs
To change a linedef, position the mouse pointer on the linedef you want to
change and left-click. Note that this is NOT like OS/2 properties menu.
It's a "select".
[7.0] SECTORS Mode
DEPM is meant to be as OS/2-like as possible. In many cases, operations you
use on the OS/2 desktop will work on the DEPM map section.
NOTE: before trying to change or delete a sector, make sure that
DEPM has identified it before pushing the mouse button.
[7.1] Adding Sectors
You can add new sectors in one of two ways:
- create new sector from Sector Template; or
- split an existing sector with a linedef.
To create a new sector, position the mouse pointer on the Sector Template
and right-button-drag to the desired map location.
To split an existing sector, draw a new linedef bisecting the sector. The
sector will be split into two sectors. This is the preferred method for
creating new sectors unless the sector is totally disconnected from all
other sectors.
[7.2] Deleting Sectors
To delete a sector, position the mouse pointer on the sector you want to
delete and right-button-drag it to the shredder (in the Tools group, not on
the OS/2 desktop, yutz). The sidedefs pointing into this sector will be
deleted. If this leaves any linedefs with no sidedefs, they will be deleted
also. If this leaves any vertexes "disconnected", they too will be deleted.
[7.3] Changing Sectors
To change a sector, position the mouse pointer on the sector you want to
change and left-click. Note that this is NOT like OS/2 properties menu.
It's a "select".
[8.0] History
Pre-DEPM - Kev says "Write an OS/2 doom editor or I'll break your
face." I say "Um...yes, I will do this thing."
Version 0.00
Implemented basic skeleton, file dialogs and menu progressions for
WAD files.
Version 0.10
Implemented skeleton routines and dialogs for map selections
and dialogs for editing. Most window routines defined. Basic
IWAD recognition and palette loading. Most menu functionality
put in place and coded.
Version 0.2
PWADs can be loaded and saved.
Version 0.3
WAD menu functions fully implemented and crash-tested. Everything
seems to work fine. NEW, OPEN, IMPORT, SAVE, SAVE AS, QUIT, DROP,
and ALTER now work correctly. Large multi-level PWADS can hog quite
a bit of memory and will cause the SWAPPER.DAT to grow.
Version 0.4
Map functions (except sectors) have been implemented. These include drawing
IWAD and PWAD maps, fully-functional scroll, zoom, grid, and snap. Map
elements (things, vertexes, linedefs) are identified by pointing to them
with the mouse. Linedef direction indicators have been implemented. Mouse
performance becomes impacted when moving over active map elements, due to
object correlation. I'm not sure how sectors will work yet.
Version 0.5
Drag and drop editing has been implemented. Linedef drawing is in place.
Some polishing needs to be done on the UI behavior, but this can wait until
a functional beta is in test.
Version 0.6
Worked bugs out of texture rendering. Implemented multiple drops and
imports. Implemented Autosave and the Nodes Builder.
Version 0.7
Implemented preferences dialogs and released as Beta 0.70.
Future Versions
---------------
Version 0.8 - Should allow checking, bitmap rendering.
Version 0.9 - Should contain complete help.
Release Version 1.0 - Should be a fully-functional dilly!
About the Author
----------------
Gerald Callow is a professional programmer who rushes home from work every
night to continue programming. His interests include drinking ludicrous
amounts of coffee, playing DOOM, writing OS/2 stuff, and sending mail to
asian women.